1. Field of the Invention
The present invention relates to apparatus and methods for displaying three dimensional graphic information, and more particularly, to data processing apparatus and methods for generating or manipulating three dimensional images on a display system.
2. Art Background
In the computing industry, it is quite common to represent and convey information to a user through graphic representations. These representations may take a variety of forms, such as for example, alpha-numeric characters, Cartesian or other coordinate graphs, as well as three-dimensional shapes of well known physical objects. For example, in computer aided design (CAD) systems, three dimensional objects may be modeled, reconfigured, and assembled on a two-dimensional cathode-ray tube (CRT) display to assist design engineers in their tasks. However, in displaying three-dimensional objects on a two-dimensional display, the computer system generating the display must be able to include perspective in the images to add dimension. Moreover, in the case where solid three dimensional objects are to be depicted, some mechanism must be utilized such that hidden surfaces are recognized and portions of the image appropriately eliminated, to obtain the desired three dimensional effect.
One common method for eliminating hidden surfaces in computer graphic images involves the use of a Z-buffer. In practice, a Z-buffer is a large memory implemented typically with dynamic random access memory (D-RAM) integrated circuits. A Z-buffer is generally organized into a linear array, wherein sequential values within the Z-buffer correspond to sequential pixels in scan lines of the CRT display. Objects to be displayed are examined, in any order, to determine which pixels they will cover. At each covered pixel, the perspective Z-depth of the object is determined and compared with the Z value of a previously computed object or the background stored in the array. If the new Z value is closer to the viewer, then the new object covers, the previous object, the new pixel is drawn on the screen, and the new Z value replaces the value in the array. (See, U.S. Pat. No. 4,475,104.)
Although the use of the Z-buffer significantly simplifies the problem of eliminating hidden surfaces on three dimensional images, the speed at which a computer system is capable of generating and manipulating a digital image represented in memory is generally limited by the access speed of the memory devices comprising the computer memory. Typically, each memory device corresponds to blocks of adjacent pixels, or other display elements, defining the display. Thus, graphic primitives, such as a polygon, would be represented by a plurality of pixels whose depth values are stored in several of the memory devices. In applications requiring high-speed graphic image manipulation, such as animation, the speed at which the computer system is capable of updating and displaying digital images is dependent upon the access time of the memory devices. Memory devices, such as dynamic random access memories (D-RAMs), have cycle times of approximately 250 nanoseconds.
It has been found that in high speed computer graphic applications these access times are woefully inadequate. Thus, although the computer processor is capable of very high speed data manipulations, the overall system is constrained by the limiting access time of the memory devices which correspond to the pixels of the display.
As will be disclosed below, the present invention provides an apparatus and method which permits a graphics processor to quickly and efficiently compare calculated Z-values with prior Z-values stored in a Z-buffer, to permit high speed three dimensional graphics generation using commercially available D-RAMs. Accordingly, using the teachings of the present invention, the access time of the D-RAMs does not limit the speed by which the computer system can update and display three dimensional graphic images.